Type-Checking CRDT Convergence

نویسندگان

چکیده

Conflict-Free Replicated Data Types (CRDTs) are a recent approach for keeping replicated data consistent while guaranteeing the absence of conflicts among replicas. For correct operation, CRDTs rely on merge function that is commutative, associative and idempotent. Ensuring such algebraic properties satisfied by implementations, however, left to programmer, resulting in process complex error-prone. While techniques based testing, automatic verification model, mechanized or handwritten proofs available, we lack an able verify concrete CRDT implementations. In this paper, present Propel, programming language with type system captures required implementation. The Propel deduces case analysis induction: sum types guide enable induction free. Propel’s key feature its capacity reason about (a) terms rewrite rules (b) derive equality inequality expressions from properties. We provide implementation as Scala embedding, implement several CRDTs, them compare four state-of-the-art tools. Our evaluation shows automatically deduce relevant common implementations found open-source libraries even cases which competitors timeout.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

File system on CRDT

In this report we show how to manage a distributed hierarchical structure representing a file system. This structure is optimistically replicated, each user work on his local replica, and updates are sent to other replica. The different replicas eventually observe same view of file systems. At this stage, conflicts between updates are very common. We claim that conflict resolution should rely a...

متن کامل

Bounds for the Crdt Algorithm

In [11] Driscoll and Vavasis described their CRDT algorithm for numerical computation of conformal maps from polygons to the unit disk. Although the method works well in practice, it is not proven to converge in all cases and they formulated a number of specific conjectures to quantify its behavior. In this note we prove one of these conjectures: that the initial guess of the CRDT algorithm alw...

متن کامل

On statistical type convergence in uniform spaces

The concept of ${mathscr{F}}_{st}$-fundamentality is introduced in uniform spaces, generated by some filter ${mathscr{F}}$. Its equivalence to the concept of ${mathscr{F}}$-convergence in uniform spaces is proved. This convergence generalizes many kinds of convergence, including the well-known statistical convergence.

متن کامل

Bounds for the Crdt Conformal Mapping Algorithm

In [16] Driscoll and Vavasis described their CRDT algorithm for numerical computation of conformal maps. Although the method works well in practice, it is not proven to converge and they formulated a number of conjectures to quantify its behavior. In this paper we prove one of these conjectures: that the initial guess of the CRDT algorithm always lies within a uniformly bounded distance of the ...

متن کامل

Abstract unordered and ordered trees CRDT

Trees are fundamental data structure for many areas of computer science and system engineering. In this report, we show how to ensure eventual consistency of optimistically replicated trees. In optimistic replication, the different replicas of a distributed system are allowed to diverge but should eventually reach the same value if no more mutations occur. A new method to ensure eventual consis...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Proceedings of the ACM on programming languages

سال: 2023

ISSN: ['2475-1421']

DOI: https://doi.org/10.1145/3591276